FIG. 18 is a flowchart of a conventional software development process. As depicted in FIG. 18, when software is newly developed, a design plan 2 is first made from a new development plan 1 written in a natural language, using a design support tool (step S190). The new development plan 1 is compared with registered tools and components (registered tools/components) 3, and the registered tools/components 3 are combined to provide a combination of tools and components that match the new development plan 1.
Subsequently, a coding process is performed based on the design plan 2 (step S1902), and code resulting from the coding is subjected to a debugging process (step S1903). In the debugging process, a parsing process of analyzing the syntax of source code 4 (step S1911), a structure analyzing process of analyzing the structure of the source code 4 (step S1912), and a code level optimizing process of deleting redundant code, etc., (step S1913) are performed to generate execution code 5.
In the optimizing process, known processes such as constant propagation, inline expansion, and loop unrolling are executed. The structure of the program, however, is not changed. Part of the coding process and debugging process is executed manually by a software developer. Manual execution of the process means that the process is not automatically executed by a computer working as a design support tool, etc., but is executed by the developer through confirmation by trial and error.
Following the debugging process, a test using the execution code 5 is performed (step S1904) to obtain a development result 6, which is reused as an existing resource 7. When this existing resource 7 and a resource 8 with a performance record in another development environment are reused, if the resources 7 and 8 are subject to a specification change, the software developer needs to manually create a modification plan 9.
An object-oriented framework system is known that provides the first object-oriented operating system using innovative framework architecture. An apparatus that provides this object-oriented framework system includes an operating system unit that processes an object-oriented application program, and a framework processing unit that standardizes an object-oriented application program residing in the operating system unit (e.g., Japanese Laid-Open Patent Publication No. 08-505721).
In the above conventional software development process, a developer manually analyzes given source code and documents to make a modification plan when an existing resource is remodeled by reusing a resource with a performance record in another development environment. This brings about the following problem. First, the result of manual analysis may include an error. In addition, when the existing resource and the resource with a performance record are processed into a module and have common portions, the developer may not be able to sufficiently extract the common portions. If extraction of the common portion is insufficient, new portions in the resource with a performance record in another development environment becomes greater in number, which results in an increase in trouble and time spent for debugging and testing of the new portions. Additionally, the object-oriented framework system disclosed in the above patent document does not automatically generate a reusable module from an existing resource.